home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / osi / isode / dosisode / DOSISODE80.ZIP / ISODE8.WRK / ROSY / ROSY-DEF.H_N < prev    next >
Encoding:
Text File  |  1992-06-28  |  7.9 KB  |  314 lines

  1. /* rosy-defs.h - definitions for rosy */
  2. /* This file produced automatically, do not edit! */
  3.  
  4. /* 
  5.  * $Header: /xtel/isode/isode/pepsy/RCS/pepsy.h.gnrc,v 9.0 1992/06/16 12:24:03 isode Rel $
  6.  *
  7.  *
  8.  * $Log: pepsy.h.gnrc,v $
  9.  * Revision 9.0  1992/06/16  12:24:03  isode
  10.  * Release 8.0
  11.  *
  12.  */
  13.  
  14. /*
  15.  *                  NOTICE
  16.  *
  17.  *    Acquisition, use, and distribution of this module and related
  18.  *    materials are subject to the restrictions of a license agreement.
  19.  *    Consult the Preface in the User's Manual for the full terms of
  20.  *    this agreement.
  21.  *
  22.  */
  23.  
  24.  
  25. #include "psap.h"
  26.  
  27. struct tuple {
  28.     int     t_type;
  29.     char   *t_class;
  30.     char   *t_form;
  31.     char   *t_id;
  32.     PElementClass t_classnum;
  33.     int        t_idnum;
  34. };
  35.  
  36. typedef struct ypv {
  37.     int     yv_code;
  38. #define    YV_UNDF        0x00    /* ??? */
  39. #define    YV_NUMBER    0x01    /* LITNUMBER */
  40. #define    YV_BOOL        0x02    /* TRUE | FALSE */
  41. #define    YV_STRING    0x03    /* LITSTRING */
  42. #define    YV_IDEFINED    0x04    /* ID */
  43. #define    YV_IDLIST    0x05    /* IdentifierList */
  44. #define    YV_VALIST    0x06    /* { Values } */
  45. #define    YV_NULL        0x07    /* NULL */
  46. #define YV_ABSENT    0x08    /* WITH COMPONENTS .. ABSENT */
  47. #define YV_PRESENT    0x09    /*  "    "       .. PRESENT */
  48. #define YV_INCLUDES    0x0a    /* INCLUDES ... */
  49. #define YV_WITHCOMPS    0x0b    /* WITH COMPONENTS */
  50. #define    YV_OIDLIST    0x0c    /* { object identifier } */
  51. #define YV_REAL        0x0d    /* real value */
  52.  
  53.     union {
  54.     int        yv_un_number;        /* code = YV_NUMBER
  55.                            code = YV_BOOL */
  56.  
  57.     double        yv_un_real;            /* code = YV_REAL */
  58.  
  59.     char       *yv_un_string;        /* code = YV_STRING */
  60.  
  61.     struct {                /* code = YV_IDEFINED */
  62.         char   *yv_st_module;
  63.         char   *yv_st_modid;
  64.         char   *yv_st_identifier;
  65.     }        yv_st;
  66.  
  67.         struct ypv *yv_un_idlist;        /* code = YV_IDLIST
  68.                            code = YV_VALIST
  69.                            code = YV_OIDLIST */
  70.     }                   yv_un;
  71. #define    yv_number    yv_un.yv_un_number
  72. #define    yv_string    yv_un.yv_un_string
  73. #define    yv_identifier    yv_un.yv_st.yv_st_identifier
  74. #define    yv_module    yv_un.yv_st.yv_st_module
  75. #define yv_modid    yv_un.yv_st.yv_st_modid
  76. #define yv_idlist    yv_un.yv_un_idlist
  77. #define yv_real        yv_un.yv_un_real
  78.  
  79.     char   *yv_action;
  80.     int        yv_act_lineno;
  81.  
  82.     int        yv_flags;
  83. #define    YV_NOFLAGS    0x00    /* no flags */
  84. #define    YV_ID        0x01    /* ID Value */
  85. #define    YV_NAMED    0x02    /* NamedNumber */
  86. #define    YV_TYPE        0x04    /* TYPE Value */
  87. #define    YV_BOUND    0x08    /* named value */
  88. #define    YVBITS    "\020\01ID\02NAMED\03TYPE\04BOUND"
  89.  
  90.     char   *yv_id;                /* flags & YV_ID */
  91.  
  92.     char   *yv_named;                /* flags & YV_NAMED */
  93.  
  94.     struct ype *yv_type;            /* flags & YV_TYPE */
  95.  
  96.     struct ypv *yv_next;
  97. }            ypv, *YV;
  98. #define    NULLYV    ((YV) 0)
  99.  
  100. YV    new_value (), add_value (), copy_value ();
  101.  
  102. /*   */
  103.  
  104. typedef struct ypt {
  105.     PElementClass   yt_class;
  106.  
  107.     YV            yt_value;
  108. }            ypt, *YT;
  109. #define    NULLYT    ((YT) 0)
  110.  
  111. YT    new_tag (), copy_tag ();
  112.  
  113. /*   */
  114.  
  115. typedef struct ype {
  116.     int     yp_code;
  117. #define    YP_UNDF        0x00    /* type not yet known */
  118. #define    YP_BOOL        0x01    /* BOOLEAN */
  119. #define    YP_INT        0x02    /* INTEGER */
  120. #define    YP_INTLIST    0x03    /* INTEGER [ NamedNumberList ] */
  121. #define    YP_BIT        0x04    /* BITSTRING */
  122. #define    YP_BITLIST    0x05    /* BITSTRING [ NamedNumberList ] */
  123. #define    YP_OCT        0x06    /* OCTETSTRING */
  124. #define    YP_NULL        0x07    /* NULL */
  125. #define    YP_SEQ        0x08    /* SEQUENCE */
  126. #define    YP_SEQTYPE    0x09    /* SEQUENCE OF Type */
  127. #define    YP_SEQLIST    0x0a    /* SEQUENCE [ ElementTypes ] */
  128. #define    YP_SET        0x0b    /* SET */
  129. #define    YP_SETTYPE    0x0c    /* SET OF Type */
  130. #define    YP_SETLIST    0x0d    /* SET [ MemberTypes ] */
  131. #define    YP_CHOICE    0x0e    /* CHOICE [ AlternativeTypeList ] */
  132. #define    YP_ANY        0x0f    /* ANY */
  133. #define    YP_OID        0x10    /* OBJECT IDENTIFIER */
  134. #define    YP_IDEFINED    0x11    /* identifier */
  135. #define YP_ENUMLIST    0x12    /* ENUMERATED */
  136. #define YP_REAL        0x13    /* Real (floating-point) */
  137.  
  138.     int     yp_direction;
  139. #define YP_DECODER    0x01
  140. #define YP_ENCODER    0x02
  141. #define    YP_PRINTER    0x04
  142.  
  143.     union {
  144.     struct {                /* code = YP_IDEFINED */
  145.         char   *yp_st_module;            /* module name */
  146.         OID        yp_st_modid;            /* module id */
  147.         char   *yp_st_identifier;            /* definition name */
  148.     }        yp_st;
  149.  
  150.     struct ype *yp_un_type;            /* code = YP_SEQTYPE
  151.                            code = YP_SEQLIST
  152.                            code = YP_SETTYPE
  153.                            code = YP_SETLIST
  154.                            code = YP_CHOICE */
  155.  
  156.     YV        yp_un_value;        /* code = YP_INTLIST
  157.                            code = YP_BITLIST */
  158.     }                   yp_un;
  159. #define    yp_identifier    yp_un.yp_st.yp_st_identifier
  160. #define    yp_module    yp_un.yp_st.yp_st_module
  161. #define yp_modid    yp_un.yp_st.yp_st_modid
  162. #define    yp_type        yp_un.yp_un_type
  163. #define    yp_value    yp_un.yp_un_value
  164.  
  165.     char   *yp_intexp;        /* expressions to pass (use) as extra */
  166.     char   *yp_strexp;        /* parameters (primitive values) */
  167.     char    yp_prfexp;
  168.  
  169.     char   *yp_declexp;
  170.     char   *yp_varexp;
  171.  
  172.     char   *yp_structname;
  173.     char   *yp_ptrname;
  174.  
  175.     char   *yp_param_type;
  176.  
  177.     char   *yp_action0;
  178.     int     yp_act0_lineno;
  179.  
  180.     char   *yp_action05;
  181.     int        yp_act05_lineno;
  182.  
  183.     char   *yp_action1;
  184.     int        yp_act1_lineno;
  185.  
  186.     char   *yp_action2;
  187.     int        yp_act2_lineno;
  188.  
  189.     char   *yp_action3;
  190.     int        yp_act3_lineno;
  191.  
  192.     int     yp_flags;
  193. #define    YP_NOFLAGS    0x0000    /* no flags */
  194. #define    YP_OPTIONAL    0x0001    /* OPTIONAL */
  195. #define    YP_COMPONENTS    0x0002    /* COMPONENTS OF */
  196. #define    YP_IMPLICIT    0x0004    /* IMPLICIT */
  197. #define    YP_DEFAULT    0x0008    /* DEFAULT */
  198. #define    YP_ID        0x0010    /* ID */
  199. #define    YP_TAG        0x0020    /* Tag */
  200. #define    YP_BOUND    0x0040    /* ID LANGLE */
  201. #define    YP_PULLEDUP    0x0080    /* member is a choice */
  202. #define YP_PARMVAL    0x0100    /* value to be passed to parm is present */
  203. #define YP_CONTROLLED    0x0200    /* encoding item has a controller */
  204. #define    YP_OPTCONTROL    0x0400    /*   .. */
  205. #define    YP_ACTION1    0x0800    /* action1 acted upon */
  206. #define    YP_PARMISOID    0x1000    /* value to be passed to parm is OID */
  207. #define YP_ENCRYPTED    0x2000    /* encypted - which is a bit hazy */
  208. #define YP_IMPORTED    0x4000  /* value imported from another module */
  209. #define YP_EXPORTED    0x8000  /* value exported to another module */
  210. #define    YPBITS    "\020\01OPTIONAL\02COMPONENTS\03IMPLICIT\04DEFAULT\05ID\06TAG\
  211. \07BOUND\010PULLEDUP\011PARMVAL\012CONTROLLED\013OPTCONTROL\
  212. \014ACTION1\015PARMISOID\016ENCRYPTED\017IMPORTED\020EXPORTED"
  213.  
  214.     YV        yp_default;                /* flags & YP_DEFAULT */
  215.  
  216.     char   *yp_id;                /* flags & YP_ID */
  217.  
  218.     YT        yp_tag;                /* flags & YP_TAG */
  219.  
  220.     char   *yp_bound;                /* flags & YP_BOUND */
  221.  
  222.     char   *yp_parm;                /* flags & YP_PARMVAL */
  223.  
  224.     char   *yp_control;                /* flags & YP_CONTROLLED */
  225.  
  226.     char   *yp_optcontrol;            /* flags & YP_OPTCONTROL */
  227.  
  228.     char   *yp_offset;
  229.  
  230.     struct ype *yp_next;
  231. }             ype, *YP;
  232. #define    NULLYP    ((YP) 0)
  233.  
  234. YP    new_type (), add_type (), copy_type ();
  235.  
  236. char   *new_string ();
  237.  
  238. #define    TBL_EXPORT    0
  239. #define TBL_IMPORT    1
  240. #define MAX_TBLS    2
  241.  
  242. extern int tagcontrol;
  243. #define TAG_UNKNOWN     0
  244. #define TAG_IMPLICIT    1
  245. #define TAG_EXPLICIT    2
  246.  
  247. #define CH_FULLY    0
  248. #define CH_PARTIAL    1
  249.  
  250. typedef struct yop {
  251.     char   *yo_name;
  252.  
  253.     YP        yo_arg;
  254.     YP        yo_result;
  255.     YV        yo_errors;
  256.     YV        yo_linked;
  257.  
  258.     int        yo_opcode;
  259. }        yop, *YO;
  260. #define    NULLYO    ((YO) 0)
  261.  
  262.  
  263. typedef struct yerr {
  264.     char   *ye_name;
  265.  
  266.     YP        ye_param;
  267.  
  268.     int        ye_errcode;
  269.  
  270.     int        ye_offset;
  271. }        yerr, *YE;
  272. #define    NULLYE    ((YE) 0)
  273.  
  274. /*   */
  275.  
  276. extern char *rosyversion;
  277.  
  278. extern int yysection;
  279. extern char *yyencpref;
  280. extern char *yydecpref;
  281. extern char *yyprfpref;
  282. extern char *yyencdflt;
  283. extern char *yydecdflt;
  284. extern char *yyprfdflt;
  285.  
  286. extern int yydebug;
  287. extern int yylineno;
  288.  
  289. #ifndef    HPUX
  290. extern char yytext[];
  291. #else
  292. extern unsigned char yytext[];
  293. #endif
  294.  
  295. extern char *mymodule;
  296.  
  297. extern OID   mymoduleid;
  298.  
  299. extern char *bflag;
  300. extern int   Cflag;
  301. extern int   dflag;
  302. extern int   Pflag;
  303. extern char *sysin;
  304.  
  305. extern char *module_actions;
  306.  
  307. OID    addoid ();
  308. OID    int2oid ();
  309. OID    oidlookup ();
  310. char    *oidname ();
  311. char    *oidprint ();
  312.  
  313. extern int errno;
  314.